package demo.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 方法级缓存 标注了这个注解的方法返回值将会被缓存
 * 
 * @author hanjy
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MethodCache {
    /**
     * 缓存过期时间，单位是秒
     */
    long expire() default 10L;

    /**
     * 指定缓存的Key，如：“a.b.c.{1}.{2}”,会解析成“a.b.c.方法参数1.方法参数2”
     */
    String keyPattern() default "";
}
